﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using BEPUphysics.Entities;

namespace Asplode.Events
{
    public class ZombieSpawnEvent
    {
        public enum ZombieType
        {
            UGLY_ZOMBIE
        }

        public ZombieType zombieType { get; set; }
        public Entity entity { get; set; }

        public ZombieSpawnEvent(Entity zombieEntity)
        {
            entity = zombieEntity;
            zombieType = ZombieType.UGLY_ZOMBIE;
        }
    }

    public interface ZombieSpawnEventHandler : EventHandler<ZombieSpawnEvent>
    {
    }

    public class RemoveEntityEvent
    {
        
        public Entity entity {get; set;}
        public RemoveEntityEvent(Entity entity)
        {
            this.entity = entity;
        }
    }

    public interface RemoveEntityEventHandler : EventHandler<RemoveEntityEvent> { };

    public class BoxSpawnEvent
    {
        public Box Box { get; set; }

        public BoxSpawnEvent(Box bx)
        {
            Box = bx;
        }

    }
    public interface BoxSpawnEventHandler : EventHandler<BoxSpawnEvent> {};

    public class HumanSpawnEvent
    {
        public Entity entity { get; set; }

        public HumanSpawnEvent(Entity ent)
        {
            entity = ent;
        }
    }

    public interface HumanSpawnEventHandler : EventHandler<HumanSpawnEvent> { };
}
